package org.edu.modules.stu.base.entity;

import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import lombok.EqualsAndHashCode;
import lombok.experimental.Accessors;
import com.fasterxml.jackson.annotation.JsonFormat;
import org.edu.common.base.BaseEntity;
import org.hibernate.validator.constraints.Length;

import java.io.Serializable;

/**
 * entity-学生信息表
 */
@TableName("ve_base_student")
@Data
@Accessors(chain = true)
@EqualsAndHashCode(callSuper = false)
@ApiModel(value="学生信息表对象", description="ve_base_student")
public class VeBaseStudent implements Serializable {


    private static final long serialVersionUID = 1L;

    /**
     * 主键id
     */
    @TableId(type = IdType.AUTO)
    @ApiModelProperty(value = "id")
    private Integer id;

    @TableField
    @ApiModelProperty(value = "身份证号，唯一")
    @Length(max = 20)
        private String sfzh;

    @TableField
    @ApiModelProperty(value = "学号")
    @Length(max = 30)
        private String xh;

    @TableField
    @ApiModelProperty(value = "姓名")
    @Length(max = 20)
        private String xm;

    @TableField
    @ApiModelProperty(value = "性别码1男生2女生")
    @Length(max = 4)
        private String xbm;

    @TableField("user_id")
    @ApiModelProperty(value = "用户ID")
    @Length(max = 32)
        private String userId;

    @TableField
    @ApiModelProperty(value = "民族码")
    @Length(max = 11)
        private String mzm;

    @TableField
    @ApiModelProperty(value = "报名号")
    @Length(max = 20)
        private String bmh;

    @TableField
    @ApiModelProperty(value = "就读方式：1住校，2走读")
        private Integer jdfs;

    @TableField
    @ApiModelProperty(value = "当前状态码'XS'=>'新生', 'ZX' => '在校', 'XX' => '休学', 'TX' => '退学', 'KC' => '开除', 'BY' => '毕业', 'YY' => '肄业', 'ZXX' => '转学', 'JY' => '结业'")
    @Length(max = 6)
        private String xsdqztm;

    @TableField
    @ApiModelProperty(value = "入学年月")
        private Integer rxny;

    @TableField
    @ApiModelProperty(value = "学制;与学制表关联")
        private Integer xz;

    @TableField("fal_id")
    @ApiModelProperty(value = "院系ID")
        private Integer falId;

    @TableField("falText")
    @ApiModelProperty(value = "")
    @Length(max = 255)
        private String falText;

    @TableField("spec_id")
    @ApiModelProperty(value = "专业ID")
        private Integer specId;

    @TableField("specText")
    @ApiModelProperty(value = "")
    @Length(max = 255)
        private String specText;

    @TableField("bj_id")
    @ApiModelProperty(value = "班级ID")
        private Integer bjId;

    @TableField("bjText")
    @ApiModelProperty(value = "")
    @Length(max = 255)
        private String bjText;

    @TableField("grade_id")
    @ApiModelProperty(value = "年级ID")
        private Integer gradeId;

    @TableField("gradeText")
    @ApiModelProperty(value = "")
    @Length(max = 255)
        private String gradeText;

    @TableField("create_time")
    @ApiModelProperty(value = "创建时间")
        private Integer createTime;

    @TableField("update_time")
    @ApiModelProperty(value = "更新时间")
        private Integer updateTime;

    @TableField
    @ApiModelProperty(value = "户口所在省份")
    @Length(max = 50)
        private String province;

    @TableField("province_id")
    @ApiModelProperty(value = "户口所在省份ID")
        private Integer provinceId;

    @TableField
    @ApiModelProperty(value = "户口所在市")
    @Length(max = 50)
        private String city;

    @TableField("city_id")
    @ApiModelProperty(value = "户口所在市Id")
        private Integer cityId;

    @TableField
    @ApiModelProperty(value = "户口所在区")
    @Length(max = 50)
        private String county;

    @TableField("county_id")
    @ApiModelProperty(value = "户口所在区ID")
        private Integer countyId;

    @TableField("sheng_id")
    @ApiModelProperty(value = "生源地省id")
        private Integer shengId;

    @TableField("shi_id")
    @ApiModelProperty(value = "生源地市id")
        private Integer shiId;

    @TableField("qu_id")
    @ApiModelProperty(value = "生源地区id")
        private Integer quId;

    @TableField
    @ApiModelProperty(value = "是否是困难生 0=否  1=是")
        private Integer sfkns;

    @TableField("terminal_id")
    @ApiModelProperty(value = "终端ID")
        private Integer terminalId;

    @TableField
    @ApiModelProperty(value = "准考证号")
    @Length(max = 30)
        private String zkzh;

    @TableField
    @ApiModelProperty(value = "考生号")
    @Length(max = 20)
        private String ksh;

    @TableField("update_status")
    @ApiModelProperty(value = "更新状态（0：未更新; 1：已更新）")
        private Integer updateStatus;
}
